home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / sharew / packer / lzh / lharc.man < prev    next >
Encoding:
Text File  |  1992-05-22  |  23.9 KB  |  716 lines

  1.                                                          April 5, 1989
  2.  
  3.  
  4.           USER's MANUAL for highly effective Archiving Program
  5.  
  6.                            LHarc version 1.00
  7.  
  8.             Copyright(c) Haruyasu Yoshizaki (Yoshi), 1988-89
  9.  
  10.                                                   Nifty Serve PFF00253
  11.                                                   ASCII pcs   pcs02846
  12.  
  13.  
  14. 0. It came to pass one day..
  15.  
  16.    After reading "Harddisk Cookbook" from Shouei-Press, I had an strong
  17.    desire to write my own archiving utility.  In the Nifty Serve
  18.    network, I was first exposed to Mr.  Miki's Larc which surpassed the
  19.    well-known pkware in compression rates, as reported in the Forum
  20.    Software Debut and Review.  The next shock came when I saw Mr.
  21.    Okumura's LZARI which has even better compaction rate performance.  I
  22.    started to rewrite LZARI in MASM trying to make it run faster, but I
  23.    could find no way of speeding up the process of de-archiving.
  24.  
  25.    So, as an alternative, I used adaptive Huffman coding with an LZSS
  26.    encoder to achieve a similar rate of compression with a faster
  27.    decompression process.  This is the idea used in LHarc.
  28.  
  29.    No one can be sure of eradicating all possible bugs, yet if SPACE is
  30.    more valuable than TIME for you, please give this program a try.  It
  31.    may be slower in execution but it achieves the tightest compression
  32.    rate of any archiver in the present freeware market.  (Copyright
  33.    reserverd).
  34.  
  35. 1. How to use it:
  36.  
  37.    [ Synopsis ]
  38.  
  39.         LHarc [command][/<switch>[-|+|2|<option>]]<archive>
  40.               <file_name> [ <Home directory_name>\|<Drive_Name>: ]
  41.               [<path_name> ]
  42.  
  43.    You may place switch(es) at any place following the command(s).  A
  44.    group of switches can be specified on a consecutive line.
  45.  
  46.    Just type LHarc to see the help menu.
  47.  
  48.  
  49. Commands:
  50. ========
  51.  
  52.     a  (Add)
  53.  
  54.             LHarc a ARCHIVE.LZH FILE1.EXT
  55.  
  56.        FILE1.EXT is archived and added to the ARCHIVE.LZH.  If the
  57.        file 'ARCHIVE.LZH' does not exists, then LHarc creates it.  If
  58.        'FILE.EXT' is already in the archive, then LHarc replaces it
  59.        with the new file.
  60.  
  61.  
  62.     u  (Update)
  63.  
  64.             LHarc u Archive.LZH file1.ext
  65.  
  66.        'FILE.EXT' is archived into 'Archive.LZH' the same as the 'a'
  67.        command.  But now, lharc checks the date of 'file1.ext' when
  68.        'file1.ext' already exists in the archive.  LHarc keeps the newer
  69.        one and ignores the other.  With the /c switch on, the action
  70.        is the same as with the 'a' command.
  71.  
  72.  
  73.     m  (Move)
  74.  
  75.             LHarc m ARCHIVE.LZH FILE1.EXT
  76.  
  77.         is equivalent to
  78.  
  79.             LHarc u ARCHIVE.LZH FILE1.EXT
  80.             DEL FILE1.EXT
  81.  
  82.        Beware of the fact that the second line is always active.  You
  83.        might lose the older 'FILE1.EXT' for eternity.
  84.  
  85.  
  86.     f (Freshen)
  87.  
  88.             LHarc f ARCHIVE.LZH FILE1.EXT
  89.  
  90.       If FILE1.EXT was archived then the file is replaced by new one.
  91.       The option will not do anything if FILE1.EXT does not exist in
  92.       the archive.
  93.  
  94.             LHarc f /c ARCHIVE.LZH FILE1.EXT
  95.  
  96.        will replace FILE1.EXT in the archive without checking, /c
  97.        is to suppress checking.
  98.  
  99.  
  100.     e  (Extract) or x (eXtract)
  101.  
  102.             LHarc e ARCHIVE.LZH
  103.  
  104.        extracts all the files from ARCHIVE.LZH.
  105.  
  106.             LHarc e ARCHIVE.LZH FILE2.EXT
  107.  
  108.        extracts FILE2.EXT from the archive.  If there is a file with
  109.        the name FILE2.EXT in the target directory, then LHarc
  110.        refrains from extraction if the existing file has the same
  111.        time stamp or is newer.  The /c switch will force LHarc to
  112.        ignore this time stamp checking.
  113.  
  114.             LHarc e ARCHIVE.LZS* [FILE.EXT]
  115.  
  116.        will extract [FILE.EXT] from .LZS* files archived with LARC
  117.        3.xx.
  118.  
  119.        Note:  Larc is another popular archiver in Japanese PDS's.
  120.  
  121.  
  122.     p  (Print)
  123.  
  124.             LHarc p ARCHIVE.LZH [FILE2.EXT]
  125.  
  126.        will output un-archived file(s) to standard output.
  127.  
  128.             LHarc p /v ARCHIVE.LZH [FILE1.EXT FILE2.EXT ....]
  129.  
  130.        will usually activate the utility 'less' and will prompt for
  131.        the output.  A temporary file LHarc.TMP is created and will
  132.        be deleted later.
  133.  
  134.             LHarc p /vsee ARCHIVE.LZH [FILE1.EXT]
  135.  
  136.        will invoke "see" page formatter, and redirect output to
  137.        stdout in a paged format.  Refer to PC-LESS.ARC, LIST64A.ARC
  138.        and SEE15.ARC.  (These should be available in most BBS
  139.        libraries).
  140.  
  141.  
  142.     d  (Delete)
  143.  
  144.             LHarc d ARCHIVE.LZH FILED.EXT
  145.  
  146.        Deletes FILED.EXT from the archive ARCHIVE.LZH.
  147.  
  148.  
  149.     l  (List)
  150.  
  151.             LHarc l ARCHIVE.LZH [*.c *.h README.DOC]
  152.  
  153.        List information about archived files in ARCHIVE.LZH to
  154.        standard output.  Each file takes one line of output.  A '+'
  155.        indicates a directory name is stored with filename.  If you
  156.        specify file extensions, then you will see only files with
  157.        the matched extensions.
  158.  
  159.        In the above command line, you get informations of all the
  160.  
  161.                 .c FILE(s)
  162.                 .h FILE(s)
  163.             and README.DOC FILE(s).
  164.  
  165.             LHarc l /x ARCHIVE.LZH [FILE.C FILE.H...]
  166.  
  167.        Similar to the above except that the listing takes two lines
  168.        per file; the first with full pathname and the next
  169.        containing the other information.
  170.  
  171.  
  172.     v  (View)
  173.  
  174.             LHarc l /x Archive.LZH
  175.  
  176.        is equivalent to LHarc v ARCHIVE.LZH.
  177.  
  178.  
  179.     s  (Self-extract)
  180.  
  181.             LHarc s ARCHIVE.LZH
  182.  
  183.        Create self-extracting file "ARCHIVE.COM" from ARCHIVE.LZH.
  184.        If a home directory is specified, this file will be created
  185.        in the home directory.
  186.  
  187.        There exists a definite maximum size for a self-extracting
  188.        .COM file.  Theoretically, it is as large as 640 free memory
  189.        area, but normally please make a check if your self-
  190.        extracting file exceeds 400 KiloBytes.
  191.  
  192.             LHarc ARCHIVE.LZH FILE1.EXT ....no command specified.
  193.  
  194.        Lharc acts exactly as with l command.  This optional action is
  195.        temporary.  Don't count on it in the coming version.
  196.  
  197. Switches:
  198. ========
  199.  
  200.    Specify switch(es) following the switch character /.  If you want to
  201.    specify more than one switch, type characters continuously without
  202.    any space between, like: /rxwe\work or /cxvless.  When the switches w
  203.    and v are used with other switches, they must be specified at the end
  204.    of a sequence as above examples show.
  205.  
  206.    You may place a '+' or '-' sign after switches with the following
  207.    meanings: '+' sets the switch on, and '-' sets the switch off.
  208.  
  209.             '2' option will be explained later.
  210.             If you just specify a /<switch> without '+' or '-'
  211.                 then <switch> will toggle from 'on' to 'off' or
  212.                 vice versa.
  213.  
  214.    Note: '2' creates a special attribute to /r and /v switches.
  215.              (See below).
  216.  
  217.    You have to use small letters for switches.  Capital letters are re-
  218.    served for future use.
  219.  
  220.             /x[-|+] (eXtend)
  221.  
  222.    Extend file_names with directory names.  This switch determines
  223.    whether to store only the file name or the full path name.
  224.  
  225.    Suppose if you are in the root directory \, and you have 2 files:
  226.  
  227.             \TC\include\SYS\STAT.H, and
  228.             \STAT.H
  229.  
  230.             LHarc a ARCHIVE.LZH STAT.H
  231.  
  232.    will archive file STAT.H from the current (root) directory only.
  233.  
  234.             LHarc a ARCHIVE.LZH STAT.H \TC\include\SYS\STAT.H
  235.  
  236.    will fail with the message 'Same name in another path', because
  237.    eXtended directory names are not specified.
  238.  
  239.             LHarc a /x ARCHIVE.LZH STAT.H \TC\include\SYS\STAT.H
  240.  
  241.    will eXtend the stored path_names to STAT.H and \TC\include\SYS\
  242.    STAT.H and include both files in archive.
  243.  
  244.             LHarc e ARCHIVE.LZH STAT.H
  245.  
  246.    extracts only one STAT.H file to the root directory.
  247.  
  248.             LHarc e /x ARCHIVE.LZH STAT.H
  249.  
  250.    extracts two STAT.H files, one on the root directory, and the other
  251.    in the directory \TC\include\SYS.
  252.  
  253.    Use of the /r switch will allow storage of all files with the same
  254.    name by recursively searching directories.
  255.  
  256.             LHarc a /r ARCHIVE.LZH STAT.H
  257.  
  258.    archives two STAT.H files, one on the root directory, and the other
  259.    in the directory \TC\include\SYS, with pathnames.
  260.  
  261.    The /r switch always sets /x simultaneously.  If you want to do
  262.    without /x then please set /x- after specifying the /r switch.
  263.  
  264.             /p[-|+] (Precise)
  265.  
  266.    Give a precise distinction between filenames.  Suppose your archive
  267.    TC.LZH has both STAT.H and SYS\STAT.H
  268.  
  269.             LHarc e TC STAT.H
  270.  
  271.    will extract both files and one with older date will be overwritten
  272.    by the other.
  273.  
  274.             LHarc e /p TC.LZH STAT.H
  275.  
  276.    will give you only STAT.H
  277.  
  278.             LHarc e TC.LZH SYS\STAT.H
  279.  
  280.    gives you SYS\STAT.H only.
  281.  
  282.             /c[-|+] (ignore Comparison of time stamp)
  283.  
  284.             LHarc [efux] /c ARCHIVE.LZH [FILE1.EXT FILE2.EXT...]
  285.  
  286.    If a file with the same name is to be created, the default is to
  287.    compare the time stamp of two files and some are overwritten and some
  288.    are just ignored.  This switch forces overwriting of existing files
  289.    with the extracted one.
  290.  
  291.             /m[-|+] (no Message)
  292.  
  293.             LHarc [commands] /m ARCHIVE.LZH [FILE1.EXT FILE2.EXT...]
  294.  
  295.    by default LHarc ask questions like "Overwrite y/n ?".  This switch
  296.    will suppress these prompts and processing continues as if "y" is
  297.    typed in.
  298.  
  299.             /a[-|+] (any Attribute)
  300.  
  301.             LHarc a /a ARCHIVE.LZH FILE1.ARC
  302.  
  303.    adds FILE1.ARC to archive with compression.
  304.  
  305.    Normally, LHarc will not store files with hidden, read_only and/ or
  306.    system attributes.  This switch forces LHarc to archives files with
  307.    these attributes.
  308.  
  309.             /r[-|+|2] (Recursive)
  310.  
  311.             LHarc a /r ARCHIVE.LZH *.c
  312.  
  313.    Adds to ARCHIVE.LZH all the files with the extension .c under the
  314.    specified directory.
  315.  
  316.    There are 3 modes in collecting files to be archived:
  317.  
  318.       (a)  default or /r-.
  319.  
  320.            Archive files with specified names only.
  321.  
  322.       (b)  File_name specified mode across directories.
  323.            (When you specify /r or /r+ switch).
  324.  
  325.            Disregards directory names, and adds all the files with
  326.            the specified file_name under the current working
  327.            directory.  Normally, this is used to archive all the
  328.            versions or all files of similar nature.
  329.  
  330.       (c) directory mode.  /r2
  331.  
  332.               LHarc a /r2 DOCUMENT.LZH \DOC
  333.  
  334.            This is like unix -r switch.  All the files in a
  335.            directory specified by path_name \doc are archived into
  336.            Documents.LZH.  Normally used to archive a complete
  337.            directory.
  338.  
  339.    Switches /r and /r2 will invoke the /x switch simultaneously.  You
  340.    may have to toggle /x switch off after /r or /r2 specification, with
  341.    /x-.  The switch /x- is to disregard directories.
  342.  
  343.  
  344.             /w[-|+|<working directory name>]
  345.  
  346.             LHarc a /w[ d:\tmp ] Archive.LZH [ File1.EXT File2.EXT....]
  347.  
  348.    All the temporary files are created on the drive d:\tmp.  In case no
  349.    directory name is specified, the current directory becomes the work-
  350.    ing directory.  All the temporary files created in the process of
  351.    archiving reside in this directory and will be deleted later.
  352.  
  353.             SET TMP = d:\
  354.  
  355.    does exactly the same, but may be overridden by /w switch.
  356.  
  357.    Normally the switch is necessary when:
  358.  
  359.       1) you have no room in the directory where the .LZH file is,
  360.  
  361.    or
  362.  
  363.       2) you want your work done silently and swiftly on a Ram Disk.
  364.  
  365.  
  366.             /v[-|+|2|< utility command redirection >] (View by page)
  367.  
  368.             LHarc p /v ARCHIVE.LZH
  369.  
  370.    when you want to read formatted output from print command of
  371.    LHarc.  The default utility is less.com.
  372.  
  373.    Note:  LESS.COM is a tool similar to the DOS MORE.COM and
  374.           something more, but it is less than the "less" in
  375.           American Unix Networks.  PC-LESS.ARC or LIST64A.ARC
  376.           (available from many BBS sources in the U.S.A.) works
  377.           as well as Japanese tool.
  378.  
  379.    LHarc create an un-archived file LHARC.TMP and invokes the utility,
  380.    usually a page formatter like see.exe or list.exe.  Temporary files
  381.    will normally be deleted after you have read the output.
  382.  
  383.  
  384.             LHarc p /v2 [ /v<utility name> ] ARCHIVE.LZH
  385.  
  386.    LHarc suppress the output of path_name or file_name.  The switch is
  387.    supplied for viewing binary files with a dump command.
  388.  
  389.  
  390. Archive Name(Path_name).
  391. =======================
  392.  
  393.    All the archived files have the same format as Larc* except for the
  394.    extension .LZH while Larc uses .LZS.  When you use a different ex-
  395.    tension for the path_name, LHarc will prompt you with that extension.
  396.  
  397.    Wildcards are valid in e,x,p,l,v,s commands.
  398.  
  399.             LHarc e *.LZH *.c
  400.  
  401.    un-archive all the files with the extension .c from all archive(s).
  402.  
  403.  
  404. Home_directory.
  405. ==============
  406.  
  407.    If you specify a home_directory then everything happens on this
  408.    directory as if it is the current directory.  Specify a
  409.    directory_name ending with either '\' or ':'.  In archived files,
  410.    there will be no record of this home directory name.
  411.  
  412.    Example.  In the following directory tree:
  413.  
  414.                            |-- BIN --
  415.                            |
  416.           |-- \ --|-- TC --|-- LIB --
  417.                            |
  418.                            |-- INCLUDE --|-- SYS --|-- STAT.H
  419.  
  420.    Type from your root directory \
  421.  
  422.             LHarc a /r Archive.LZH tc\include\ stat.h
  423.  
  424.    to have \TC\include\SYS\STAT.H archived in ARCHIVE.LZH with name
  425.    SYS\STAT.H in your home directory \TC\include.
  426.  
  427.  
  428. File Name (a Path_name):
  429. ========================
  430.  
  431.    File_names or Path_names of files to be archived must be specified or
  432.    LHarc will automatically assume *.* with no directory names.  The
  433.    wildcards behaves exactly as in MS-DOS.  You can not use them in
  434.    specifying directories except in the mode / r2, as UNIX -r option for
  435.    cp, mv or rm.
  436.  
  437.  
  438. Terminology:
  439. ============
  440.  
  441.    Path name, Directory Name, File_name:
  442.  
  443.             a:\tc\include\stdio.h
  444.             |<---- path_name --->|
  445.             |<---------->||<--->|
  446.            directory_name  file_name
  447.  
  448.  
  449.    SWITCH character:
  450.  
  451.    If you are using some other letter like '-' for the forward slash '/'
  452.    as switch delimitter from function call 37h, SET VECTOR, you have to
  453.    place your delimitter, say '-', instead of our '/' like -cx.  Then
  454.    you may use '/' for a directory delimiter, as in Unix convention.
  455.    You can use '-' as a switch charcter anyway.
  456.  
  457.    The above comment may not be true if you are not using MS-DOS 3.xx.
  458.  
  459.  
  460. 2. Set switches in environmental variable.
  461.  
  462.    You may set switches by using the Environmental variable 'LHARC'.
  463.  
  464.    Example.
  465.    A>set LHarc=/we: /r2        Set work directory in drive e: and
  466.                                 archive files in directory mode.
  467.  
  468.    It is, also possible to specify the working directory with environ-
  469.    mental variable 'TMP', like set TMP=e: but the /w switch override the
  470.    setting.
  471.  
  472.  
  473. 3. Self-Extracting Files.
  474.  
  475.    If a self-extracting file is executed, then it will try to extract
  476.    all of the archived files into the current directory.  Every
  477.    extracted file has the attribute 20h.  If a file with a name of
  478.    AUTOLARC.BAT exists, this batch file is activated immediately.
  479.  
  480.    It is possible to embed some jokes or even so-called viruses in this
  481.    autolarc.bat file.  The possibility exits even with other SFX files
  482.    from ARC or PKware.  So I have chosen to keep the batch file option
  483.    active in the present version because the world is now well-prepared
  484.    for those tricks.
  485.  
  486.  
  487. 4. Archive file header.
  488.  
  489.    Our header is compatible with that of Larc*.  Methods of archiving
  490.    are two:
  491.  
  492.             -lh0-    stored as it was,
  493.             -lh1-    compressed by LZHuf coding.
  494.  
  495.    LArc archived files with extension .LZS may be un-archived by LHarc,
  496.    if they belong to type 4 and 5.
  497.  
  498.    Note:  Larc is another Japanese archiver with source code
  499.           published on a Journal.  [It will be uploaded to the
  500.           American GEnie network soon].
  501.  
  502. 5. Result Codes.
  503.  
  504.    LHarc returns following results codes to parent process.
  505.  
  506.     0   normally finished.
  507.  
  508.     1   Process finished with ignoring the nonexistent filenames in
  509.         archiving.  Or, CRC error occurred during un-archiving.
  510.  
  511.     2   Process terminated by a fatal error.  No archives created nor
  512.    moved.
  513.  
  514.     3   Unable to write in the temporary files into archive.  Work file
  515.         renamed as LHARC.)2(. Original archive was deleted. Try re-
  516.         naming LHARC.)2( as your archive, although it could be damaged.
  517.  
  518.  
  519. 6. Temporary Files.
  520.  
  521.         LHARC.)1( Old archive file renamed
  522.         LHARC.)2( Working file to create new archive file
  523.         LHARC.TMP Work file to be reviewed by some page formatter
  524.  
  525.    If a file with these names already exists, then the normal action of
  526.    LHarc is not guaranteed.
  527.  
  528.  
  529. 7. My Distribution Policy.
  530.  
  531.    Under conditions which follow, you may freely copy and distribute
  532.    this software.
  533.  
  534.    1.  Under all circumstances, 'Copyright by Haruyasu Yoshizaki'
  535.        must be attached to the copy.
  536.  
  537.    2.  This manual or its hardcopy should go together with the
  538.        software.
  539.  
  540.    3.  You may modify the program, but in that case, you must
  541.        distribute the complete source code for the program,
  542.        including your contribution, and you must make it clear that
  543.        you have made such modifications.
  544.  
  545.    4.  You must try to distribute the newest version available.
  546.  
  547.    5.  I assume no warranty for the claim of any damage you may
  548.        sustain by using this software.
  549.  
  550.    6.  I have no obligation to revise the program to correct any
  551.        fault in this software.
  552.  
  553.    7.  For the commercial use of this software, I add the following:
  554.  
  555.       a.  The entire software made incorporating this program
  556.           should not be copy protected in the sense that
  557.           DISKCOPY command of MS-DOS makes a perfect copy.
  558.  
  559.       b.  Every part of the package should print the name LHarc
  560.           and the copyright banner.
  561.  
  562.       c.  The distribution policy of this software should be
  563.           printed either in the manual, in the package or on the
  564.           disk-label.
  565.  
  566.  
  567. 8. Acknowledgments.
  568.  
  569.    Special gratitude for H.Okumura who uploaded the code for LZARI in
  570.    PCVAN on which this LZHuf coding is based.  To K.Miki, who re-posted
  571.    LZARI to Nifty Serve, and who is the author of Larc I, also, express
  572.    my gratitude.  For those who contributed reports and comments and
  573.    information on bugs, I thank you very much.
  574.  
  575.    The "exe" file for LHarc is nearly 2 KiloBytes smaller due to use of
  576.    pcs27162 by S.Takanami.  I honor the utility and thank him for
  577.    letting me use it in LHarc.
  578.  
  579.    I have made so many revisions to LHarc, yet I do not think I can
  580.    ever expel all the bugs dwelling inside.  I would appreciate your
  581.    comments and bug reports.  Please route them to me via the SDR Forum
  582.    of Nifty or salon.pds of ASCII Net.  [American users of GEnie can
  583.    send messages to the author via K.OKUBO].
  584.  
  585.  
  586. 9. References.
  587.  
  588.    1) AP-Labo :A Harddisk Cook Book Shouei Press,(1987).
  589.  
  590.    2) Kurita,T:Jewlry Box of Computing 43, Huffman Coding, bit,
  591.       Vol.20, No.7, pp.100-101 (1988).
  592.  
  593.    3) Miki K, Document for Larc : Larc.man (to appear on GEnie).
  594.  
  595.  
  596. 10. History of Revisions.
  597.  
  598.     Ver. 1.00
  599.          1.  Mode without working file added
  600.          2.  /r switch forces /x switch simultaneously
  601.  
  602.  
  603.     Ver. 0.07c
  604.          1.  Remove bug in detecting memory shortage
  605.          2.  Compacted self-extracting program
  606.  
  607.  
  608.     Ver. 0.07a
  609.          1.  Ver. 0.05 ` 0.07 break down Heap areas, corrected
  610.          2.  Accept any directory names with any attributes
  611.  
  612.     Ver. 0.07
  613.          1.  Prohibition of actions to a write-protected archive
  614.          2.  'm' command now removes files made by older versions
  615.          3.  Error handling routine revised in dealing with wild
  616.              card names for archive files
  617.          4.  No commands specified is now interpreted as l command
  618.              specified
  619.          5.  Error level 1 return when CRC checking detect an error
  620.              in un-archiving
  621.          6.  Program now halts when self-extracting process meets an
  622.              error.
  623.          7.  Bug in CRC checking when a directory name is met in un-
  624.              archiving process.
  625.  
  626.     Ver. 0.06b
  627.          1.  Removed possibility of a damaged cluster appearing in
  628.              failing to re-create(=freshen) an archive file
  629.          2.  Remove the "+" bug in redirecting with p command
  630.  
  631.     Ver. 0.06
  632.          1.  If a file transaction fails with u, m, or f commands,
  633.              LHarc will leave the archive file as it is.
  634.          2.  File attributes were misunderstood by f commands some-
  635.              time, possibility eliminated.
  636.  
  637.     Ver. 0.05
  638.          1.  CRC checks extend to self-extracting files
  639.          2.  Completely recursive modes are made possible for
  640.              a, u, m commands
  641.          3.  Meet append.exe of MS-DOS version 3.3
  642.          4.  You don't have to add \ anymore to the end of working
  643.              directory name
  644.  
  645.     Ver. 0.04
  646.          1.  Support environmental string 'TMP'
  647.          2.  "LHarc p  /v  a.LZH a_file"
  648.              used to delete 'a_file' in case of an error, bug fixed
  649.          3.  Checks whether there exists a file with same name in
  650.              making a self-extracting file
  651.          4.  In a self-extracting archive file, if a file with the
  652.              same name with larger size exists, then LHarc kept
  653.              difference when overwritten by a smaller file, this bug
  654.              removed
  655.  
  656.     Ver. 0.03
  657.          1.  The environmental variable 'LHARC' sets some of the
  658.              switches
  659.          2.  Made it possible to specify '+', '-' by switches
  660.          3.  /v switch included
  661.          4.  Now wild cards can be used for archive names for
  662.              explvs commands
  663.          5.  Home directory names had some interactions with Kanji-
  664.              code, fixed
  665.          6.  Fixed header file bugs of self-extracting .EXE files
  666.  
  667.     Ver. 0.02
  668.          1. Support of m command
  669.          2. LArc 3.xx compatibility - type 4, 5 .lzs files are un-
  670.             archived
  671.          3. Accept systems with different switch characters
  672.          4. Minor bugs fixed with e command
  673.          5. Revised format for l command
  674.  
  675.     Ver. 0.01
  676.          1. Support of Self-extracting Files
  677.          2. p command added
  678.          3. /c switch applies for more combinations of commands
  679.             and switches.
  680.          4. Error handling revised
  681.          5. Bug fixed in l command
  682.          6. New algorithm introduced in sorting path-names
  683.  
  684.  
  685. 11.Comments:
  686.  
  687. a. Some other algorithms I have in mind.
  688.  
  689.    For some specific files, the compression rates are not as good as
  690.    PKware's PKZIP.  For such files, I may use LZSS compression with
  691.    correlated arithmetic compression.  This is an effective method and
  692.    my experiments show that the rates are no less than PK's.  Yet, it
  693.    takes too much time in both archiving and de-archiving processes,
  694.    with much higher memory consumption.  Consequently, I intend to keep
  695.    on working on this LZHuf algorithm.
  696.  
  697.    Naturally, I am ready to accept any comments and I continue to
  698.    experiment.
  699.  
  700.  
  701. b. Naming of LH(arc)
  702.  
  703.    Some people expressed concerns that the string 'arc' is contained in
  704.    the name LHarc.  I make the following statements for them.
  705.  
  706.    The crucial point in the case where Sea sued PK, is the way PK
  707.    advertised and sold Pk(x)arc with an emphasis on arc-compatibility,
  708.    with a certain amount of profits from shareware contributions.
  709.  
  710.    This is not the case with LHarc.  I used a different archiving
  711.    method and made it a freeware program with a format not compatible
  712.    with arc.  I hope I will not be bothered by similar accusations.
  713.  
  714.                                 - end -
  715.  
  716. ə